module ApplicationHelper
  def nova_imagem(owner)
    render partial: "imagens/nova_imagem",
    locals: { owner: owner }
  end

  def imagens(owner)
    render partial: "imagens/imagens",
    locals: {imagens: owner.imagens}
  end

  def get_menu_topo

    m = Menu.find_by_nome :Superior
    itens = m.itemMenus
    menu = '<ul class="nav">'

    itens.each do |itemMenu|
      menu << get_li_produto( itemMenu.nome, "" )
    end

    menu << '</ul>'
    raw menu

  end

  def get_menu_lateral

    m = Menu.find_by_nome :Lateral
    itens = m.itemMenus
    menu = '<ul class="nav nav-list">'

    itens.each do |itemMenu|
      c = Categoria.find_by_nome itemMenu.nome
      if !c.nil?
        menu << get_li_categoria( itemMenu.nome, "nav-header liCategories")
      else
        menu << get_li_produto( itemMenu.nome, "nav-header liProducts" )
      end

    end

    menu << '</ul>'
    raw menu
  end

  private

  def get_li_categoria nome, class_li

    menu = ""
    c = Categoria.find_by_nome nome

    if !c.nil?
      menu = '<li class="' + class_li + '">'
      menu << nome
      menu << '</li>'

      produtos = c.produtos
      produtos.each do |produto|
        menu << get_li_produto( produto.nome, "products-li" )
      end

      filhos = c.children
      filhos.each do |filho|
        menu << get_li_categoria(filho.nome, class_li)
      end

    end
    menu
  end

  def get_li_produto nome, classe_li

    menu = ""
    p = Produto.find_by_nome nome

    if( !p.nil? )
      menu = '<li class="' + classe_li + '">'
      menu << ' <a href="' + ( p.nil? ? "#" : "/produtos/" + p.id.to_s ) + '">'
      menu << nome
      menu << ' </a>'
      menu << '</li>'
    end

    menu
  end

end
